package com.scs.application.modules.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.FlowEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 基础属性变更表
 * </p>
 */
@Data
@Accessors(chain = true)
@TableName("base_change")
public class Change extends FlowEntity {


    // id ,在父类中处理

    @EntityFieldAnnotation(
            text = "变更单号",
            length = "20.0",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String busKey;

    @EntityFieldAnnotation(
            text = "变更日期",
            length = "0.0",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Date busDate;

    @EntityFieldAnnotation(
            text = "操作人",
            length = "20",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String busUser;

    @EntityFieldAnnotation(
            text = "备注",
            length = "200",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remark;

    @EntityFieldAnnotation(
            text = "变更类型",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "耗材属性变更、单位属性变更、厂商属性变更"
    )
    private String changeType;

    @EntityFieldAnnotation(
            text = "来源表",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "所变更的表名"
    )
    private String changeTable;
    @EntityFieldAnnotation(
            text = "来源表描述",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "所变更的表名描述"
    )
    private String changeTableText;

    @EntityFieldAnnotation(
            text = "变更属性",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "所变更表的属性"
    )
    private String changeProperty;

    @EntityFieldAnnotation(
            text = "变更属性描述",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "变更属性描述"
    )
    private String changePropertyText;

    @EntityFieldAnnotation(
            text = "变更属性数据标识字段",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "变更属性数据标识字段"
    )
    private String changeDataField;
    @EntityFieldAnnotation(
            text = "变更属性数据标识字段值",
            length = "100.0",
            not_null = true,
            default_value = "",
            comment = "变更属性数据标识字段值"
    )
    private String changeDataValue;

    @EntityFieldAnnotation(
            text = "旧值",
            length = "500.0",
            not_null = true,
            default_value = "",
            comment = "旧值"
    )
    private String oldValue;

    @EntityFieldAnnotation(
            text = "新值",
            length = "500.0",
            not_null = true,
            default_value = "",
            comment = "新值"
    )
    private String newValue;


    // creator ,在父类中处理


    // gmt_create ,在父类中处理


    // modifier ,在父类中处理


    // gmt_modified ,在父类中处理

}
